<script type="text/javascript" src="<?php echo $this->staticUrl?>js/qqapi.js"></script>
<script type="text/javascript">
    function WeChat(title,link,desc,icon) {
        wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
            appId: '<?php echo !empty($sign)?$sign['appId']:'';?>', // 必填，公众号的唯一标识
            timestamp:'<?php echo !empty($sign)?$sign['timestamp']:'';?>', // 必填，生成签名的时间戳
            nonceStr: '<?php echo !empty($sign)?$sign['nonceStr']:'';?>', // 必填，生成签名的随机串
            signature: '<?php echo !empty($sign)?$sign['signature']:'';?>',// 必填，签名，见附录1
            jsApiList: [
                'getLocalImgData',
                'uploadImage',
                'onMenuShareTimeline',
                'onMenuShareAppMessage',
                'onMenuShareQQ',
                'onMenuShareWeibo',
                'onMenuShareQZone',
                'getLocation'
            ] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
        });
        var share;
        <?php if (isset($share)):?>
        share = <?php echo $share?>;
        <?php else:?>
        share = {'sharp_title':'分享标题','sharp_icon':'<?php echo $this->staticUrl;?>sales/img/png/share_icon.png','sharp_url':'','sharp_desc':''};
        <?php endif;?>

        wx.ready(function(){
            // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
            wx.checkJsApi({
                jsApiList: [
                    'getLocalImgData',
                    'uploadImage',
                    'onMenuShareTimeline',
                    'onMenuShareAppMessage',
                    'onMenuShareQQ',
                    'onMenuShareWeibo',
                    'onMenuShareQZone',
                    'getLocation'
                ], // 需要检测的JS接口列表，所有JS接口列表见附录2,
                success: function(res) {
                    // 以键值对的形式返回，可用的api值true，不可用为false
                    // 如：{ "checkResult":{ "chooseImage":true},"errMsg":"checkJsApi:ok"}
                }
            });

            var title_desc = share.sharp_title;
            var link_desc = share.sharp_url;
            var desc_desc = share.sharp_desc;
            var desc_icon = share.sharp_icon;

            wx.onMenuShareTimeline({
                title: title_desc, // 分享标题
                link: link_desc, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: desc_icon, // 分享图标
                success: function () {
                    // 用户确认分享后执行的回调函数
                    show_message({status:1, message:'分享成功'});
                    $(".share").css("visibility","hidden");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                    show_message({status:0, message:'您取消了分享'});
                    $(".share").css("visibility","hidden");
                }
            });

            wx.onMenuShareAppMessage({
                title: title_desc, // 分享标题
                desc: desc_desc, // 分享描述
                link: link_desc, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: desc_icon, // 分享图标
                type: '', // 分享类型,music、video或link，不填默认为link
                dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
                success: function () {
                    // 用户确认分享后执行的回调函数
                    show_message({status:1, message:'分享成功'});
                    $(".share").css("visibility","hidden");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                    show_message({status:0, message:'您取消了分享'});
                    $(".share").css("visibility","hidden");
                }
            });

            wx.onMenuShareQQ({
                title: title_desc, // 分享标题
                desc: desc_desc, // 分享描述
                link: link_desc, // 分享链接
                imgUrl: desc_icon, // 分享图标
                success: function () {
                    // 用户确认分享后执行的回调函数
                    show_message({status:1, message:'分享成功'});
                    $(".share").css("visibility","hidden");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                    show_message({status:0, message:'您取消了分享'});
                    $(".share").css("visibility","hidden");
                }
            });

            wx.onMenuShareWeibo({
                title: title_desc, // 分享标题
                desc: desc_desc, // 分享描述
                link: link_desc, // 分享链接
                imgUrl: desc_icon, // 分享图标
                success: function () {
                    // 用户确认分享后执行的回调函数
                    show_message({status:1, message:'分享成功'});
                    $(".share").css("visibility","hidden");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                    show_message({status:0, message:'您取消了分享'});
                    $(".share").css("visibility","hidden");
                }
            });

            wx.onMenuShareQZone({
                title: title_desc, // 分享标题
                desc: desc_desc, // 分享描述
                link: link_desc, // 分享链接
                imgUrl: desc_icon, // 分享图标
                success: function () {
                    // 用户确认分享后执行的回调函数
                    show_message({status:1, message:'分享成功'});
                    $(".share").css("visibility","hidden");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                    show_message({status:0, message:'您取消了分享'});
                    $(".share").css("visibility","hidden");
                }
            });

            wx.getLocation({
                type: 'wgs84',
                success: function (res) {
                    setAddress(res.latitude, res.longitude);
//                    // 地址解析:http://lbs.qq.com/javascript_v2/guide-service.html#link-four
//                    let geocoder = new qq.maps.CityService({
//                        complete: function (result) {
//                            //alert('您的位置:'+result.detail.detail)
//                            //alert('您的位置:'+result.name)
//                            if(typeof setAddress == 'function'){
//                                setAddress(result);
//                            }
//                        }
//                    });
//                    var center = new qq.maps.LatLng(res.latitude, res.longitude);
//                    geocoder.searchCityByLatLng(center)
                }
            })
        });

        wx.error(function(res){
            // config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
        });
    }
    function WeChatShare(title,link,desc,icon) {
        wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
            appId: '<?php echo !empty($sign)?$sign['appId']:'';?>', // 必填，公众号的唯一标识
            timestamp:'<?php echo !empty($sign)?$sign['timestamp']:'';?>', // 必填，生成签名的时间戳
            nonceStr: '<?php echo !empty($sign)?$sign['nonceStr']:'';?>', // 必填，生成签名的随机串
            signature: '<?php echo !empty($sign)?$sign['signature']:'';?>',// 必填，签名，见附录1
            jsApiList: [
                'getLocalImgData',
                'uploadImage',
                'onMenuShareTimeline',
                'onMenuShareAppMessage',
                'onMenuShareQQ',
                'onMenuShareWeibo',
                'onMenuShareQZone',

            ] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
        });
        var share;
        <?php if (isset($share)):?>
        share = <?php echo $share?>;
        <?php else:?>
        share = {'sharp_title':'分享标题','sharp_icon':'<?php echo $this->staticUrl;?>sales/img/png/share_icon.png','sharp_url':'','sharp_desc':''};
        <?php endif;?>

        wx.ready(function(){
            // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
            wx.checkJsApi({
                jsApiList: [
                    'getLocalImgData',
                    'uploadImage',
                    'onMenuShareTimeline',
                    'onMenuShareAppMessage',
                    'onMenuShareQQ',
                    'onMenuShareWeibo',
                    'onMenuShareQZone',

                ], // 需要检测的JS接口列表，所有JS接口列表见附录2,
                success: function(res) {
                    // 以键值对的形式返回，可用的api值true，不可用为false
                    // 如：{ "checkResult":{ "chooseImage":true},"errMsg":"checkJsApi:ok"}
                }
            });

            var title_desc = share.sharp_title;
            var link_desc = share.sharp_url;
            var desc_desc = share.sharp_desc;
            var desc_icon = share.sharp_icon;

            wx.onMenuShareTimeline({
                title: title_desc, // 分享标题
                link: link_desc, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: desc_icon, // 分享图标
                success: function () {
                    // 用户确认分享后执行的回调函数
                    show_message({status:1, message:'分享成功'});
                    $(".share").css("visibility","hidden");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                    show_message({status:0, message:'您取消了分享'});
                    $(".share").css("visibility","hidden");
                }
            });

            wx.onMenuShareAppMessage({
                title: title_desc, // 分享标题
                desc: desc_desc, // 分享描述
                link: link_desc, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: desc_icon, // 分享图标
                type: '', // 分享类型,music、video或link，不填默认为link
                dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
                success: function () {
                    // 用户确认分享后执行的回调函数
                    show_message({status:1, message:'分享成功'});
                    $(".share").css("visibility","hidden");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                    show_message({status:0, message:'您取消了分享'});
                    $(".share").css("visibility","hidden");
                }
            });

            wx.onMenuShareQQ({
                title: title_desc, // 分享标题
                desc: desc_desc, // 分享描述
                link: link_desc, // 分享链接
                imgUrl: desc_icon, // 分享图标
                success: function () {
                    // 用户确认分享后执行的回调函数
                    show_message({status:1, message:'分享成功'});
                    $(".share").css("visibility","hidden");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                    show_message({status:0, message:'您取消了分享'});
                    $(".share").css("visibility","hidden");
                }
            });

            wx.onMenuShareWeibo({
                title: title_desc, // 分享标题
                desc: desc_desc, // 分享描述
                link: link_desc, // 分享链接
                imgUrl: desc_icon, // 分享图标
                success: function () {
                    // 用户确认分享后执行的回调函数
                    show_message({status:1, message:'分享成功'});
                    $(".share").css("visibility","hidden");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                    show_message({status:0, message:'您取消了分享'});
                    $(".share").css("visibility","hidden");
                }
            });

            wx.onMenuShareQZone({
                title: title_desc, // 分享标题
                desc: desc_desc, // 分享描述
                link: link_desc, // 分享链接
                imgUrl: desc_icon, // 分享图标
                success: function () {
                    // 用户确认分享后执行的回调函数
                    show_message({status:1, message:'分享成功'});
                    $(".share").css("visibility","hidden");
                },
                cancel: function () {
                    // 用户取消分享后执行的回调函数
                    show_message({status:0, message:'您取消了分享'});
                    $(".share").css("visibility","hidden");
                }
            });

        });

        wx.error(function(res){
            // config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
        });
    }
</script>